import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css';
import http from './http/http'
Vue.config.productionTip = false
Vue.prototype.$axios = http
Vue.use(element)
// 每一次路由跳转前 我要干的事情
router.beforeEach((to, from, next)=>{
  // 要去的页面是否需要登录
  if(to.meta.isLogin){
    // 要去的页面需要登录
    // 我在这里就要判断 系统现在登录没有
    if(store.state.user.userName){
      // 代表系统登录了
      // 在登录的前提下  我要判断这个用户有没有进入该页面的权限   满足2个要点
      // 1 该路由允许哪些权限进入 to.meta.roles  这个数组里面装的就是可以进入拦截的权限
      // 2.该用户的权限是什么  store.state.user.type
      // 3 2步骤的权限是否在1步骤的数组里面 如果在证明可以进入  否则不允许进入
      console.log(to.meta.roles)
      if(to.meta.roles.indexOf(store.state.user.type)>=0){
        // 可以进入
        next()
      }else {
        alert('没有权限')
        router.push('/login')
        // 不允许重复的导航重新跳转
      }
    }else{
      // 代表系统没登录
      router.push('/login')
    }
  }else {
    next()
  }
})






new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
